issue: react-loadable 怎么加入这个骨架中 #23

安装依赖

npm install react-loadable --save

实现异步组件

// async-image.jsx
import React, { Component } from 'react';
import Logo from '../../../../asset/images/react.png';
export default class AsyncImage extends React.Component {
    render() {
        return <div><img src={Logo} /><div>这是异步加载的内容</div></div>
    }
}

// loading.jsx    
import React, { Component } from 'react';
export default class Loading extends React.Component {
    render() {
        return <div>Loading.....</div>
    }
}

引入异步组件

import React, { Component } from 'react';
import Loadable from 'react-loadable';
import Loading from './widget/loading';

const AsyncImageLoadableComponent = Loadable({
  loader: () => import('./widget/async-image'),
  loading: Loading,
});

export default class About extends Component {

  render() {
    return <div>
      <h3 className="spa-title">Egg + React + Redux + React Router SPA Server Side + Webpack Render Example</h3>
      <div style={{ 'text-align': 'center' }}><AsyncImageLoadableComponent /></div>
    </div>;
  }
}

本地开发模式异步模块找不到问题

image.png

解决方案:easywebpack 在开发模式构建时,筛选出异步chunk 模块,然后落地磁盘


具体例子见:https://github.com/easy-team/egg-react-webpack-boilerplate/blob/dynamic-import/app/web/page/app/components/router/about.jsx


Author: sky
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source sky !
 Previous
构建流程 构建流程
基于Egg+React+Webpack构建流程1. 本地Egg项目启动首先执行node index.js 或者 npm run dev 启动 Egg应用在 Egg Agent 里面启动koa服务, 同时在koa服务里面启动Webpack编译服务挂载Webpack内存文件读取方法覆盖本地文件读取...
2019-11-02 sky
Next 
框架介绍 框架介绍
res -- Node React Application Web FrameworkGitHub:https://github.com/easy-team/res框架特性Node 端基于 Egg 开发,遵循 Egg 开发规范和 Egg 生态,支持 Egg 所有特性,比如插件机制,多进程机制...
2019-11-02 sky